It is often important to transfer data between electronic devices. The data may comprise a media file (such as an image file, an audio file, a video file), DRM (digital rights management) protected content, an OS (operating system) update, customer specific code, OEM (original equipment manufacturer) specific code, retail specific code, a firmware image for the destination device, user data, encryption/decryption keys (codes), electronic funds transfer (EFT) data, static data and the like. The data may be transferred from a “source” (or sending) device such as a digital camera to a “destination” (or receiving) device such as a laptop. In some cases, data may also be transferred in the reverse direction, with the “destination” device serving as the source of the data, and the “source” device serving as the destination for the data. The transfer of data may occur via a communications link such as a cabled connection (such as USB), or via a wireless connection (such as Bluetooth). In the case of DRM or other access-controlled content, separate authorization (codes) may be required for using the data on the destination device.
Some examples of electronic devices which may be involved in the transfer of data include cellphones (or handsets, or smart phones), computers, laptops, tablets, or comparable electronic device. Such electronic devices typically include a “host processor” (or microprocessor or simply “processor”, or microcontroller, or “.mu.C”), and resources (memory or storage) for storing data (any of which may be referred to simply as “storage”).
In the main hereinafter, point-to-point connection-oriented techniques for data transfer between two electronic devices will be discussed. Generally, in order for the data transfer (which may be referred to as “uploading” or “downloading”) to occur, both devices need to have compatible software installed so that they can have access to one another. During the data transfer, the devices need to be turned ON (operating), consequently system resources are consumed and for battery-operated devices, remaining (available) battery power diminishes.
An illustrative example of a point-to-point, connection-oriented communications link for transferring data between electronic devices is Near Field Communication (NFC). NFC implements a set of standards for smartphones and similar devices to establish radio frequency (RF) communication with each other by touching (“bumping”) them together or bringing them into close proximity with one another. Present and anticipated applications include contactless transactions, data exchange, and simplified setup of more complex communications such as Wi-Fi. Communication is also possible between an NFC-enabled device and an unpowered NFC chip, called a “tag”, which may harvest its operating power from the NFC-enabled device.
When transferring data between electronic devices, it is generally necessary that the devices' host processor(s) become involved and that data is transferred under its direction and control. When a data connection is made, the host processor is typically notified, then may authenticate the connection, and if there is a data transfer to be made, the host processor allocates memory for the data (or identifies the data that will be transferred) and then directs the action. At the end of the transfer, the host processor then validates the transaction. This process requires that the host processor be aware of and direct the transaction. This method of transferring data between electronic devices may create a number of problems, such as:                the host processor must be ON (powered up) for the data transfer to take place;        the host processor must be configured for the data transfer to take place;        the overall system power consumption is higher than if the host processor were not involved;        the data may be malicious code and may cause problems if being handled by the host processor        the transfer time for the data, using NFC or other existing wireless technologies, may be very long        